home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
NetNews Offline 1
/
NetNews Offline Volume 1.iso
/
news
/
fido
/
ger
/
amiprog
/
270
< prev
next >
Wrap
Internet Message Format
|
1996-03-16
|
3KB
From: Sven_Drieling@p13.f2270.n2426.z2.fido.sub.org (Sven Drieling)
Organization: Gibt es Mails auf dem Mond?
Path: f2270.n2426.z2.fidonet.org!not-for-mail
Newsgroups: fido.ger.amiprog
Subject: Re: StormC
Message-ID: <MSGID_2=3A2426=2F2270.13=40FidoNet_30ddf8ed@fidonet.org>
References: <MSGID_2=3A2449=2F413.23=40fidonet_D206E6DB@fidonet.org>
Date: Sun, 24 Dec 1995 19:05:49 +0200
In a message of 22 Dec 95 Axel Doerfler wrote to Karl Lockhoff:
Hi!
AD> Der groesste OOP-Witz ist aber IMHO noch TurboPascal bzw. Delphi. Dort
AD> kann man eigentlich nicht mehr von einer OOP-Sprache reden. Die
AD> "Objekte" werden dort ueber Units realisiert und die gibt es schon
AD> etwas laenger, geaendert hat sich kaum etwas.
Hmm, also wie dann konkret OOP realisiert wird ist ja reletiv egal
wichtig ist nur, dass Punkte wie:
- Daten ruecken statt den Prozeduren in den Mittelpunkt
-> Daten und Prozeduren bilden eine Einheit -> Objekte - Zusammenfassung
der Objekte zu Klassen
- Vererbung
- Meldungen an Objekte
- Geheimnisprinzip
- Dynamische Binden
vorhanden sind. Oberon-2 bietet gegenueber Modula-2 auch keine besonderen
Schluesselwoerter fuer OOP, sondern nur Erweiterungen bestehender man kann
damit aber schoen o-orientiert programmieren.
AD> den letzten Nerv geklaut hat (z.B. koennen 2 Objekte *nicht* miteinander
AD> kommunizieren).
??? Einfach etwas wie folgendes einbauen:
TYPE
Message = RECORD END; (* Basistyp *)
StringMsg = RECORD(Message) (* Vererbung von Message *)
str: e.STRING;
END;
ChrMsg = RECORD(Message)
chr: CHAR;
END;
VAR
stringMsg: StringMsg;
PROCEDURE (s: Text) Handle(VAR msg: Message);
BEGIN
WITH
msg: StringMsg DO .....
msg: ChrMsg DO ...
ELSE
END
END;
BEGIN
NEW(text); (* Text-Objekt erstellen *);
NEW(stringMsg); stringMsg.str:="Hallo";
text.Handle(stringMsg);
END;
Ich schaetze mal so aehnlich wirds auch in Delphi gehen und schon kann
man Messages bis zum geht nicht mehr austauschen.
AD> Gibt es irgendein OOP-Feature, dass sich nur sehr umstaendlich in eine
AD> Sprache wie C umsetzen laesst? Mir ist da nichts bekannt.
Nur Leserecht auf Daten. Dazu muesste man in C ne extra Procedure einsetzen
string:= ReadTextString(object) statt string:= object.TextString;
Ueberschreiben von vererbten Methoden duerfte zumindest auch ein paar
Klimmzuege benoetigen.
tschuess
[|8:)